<?
	/* Se asegura que el archivo es incluido por el index */
	defined( 'LOAD_MODULE_ACTION' ) or die( 'No esta permitido el acceso directo a ' . __FILE__ );
		$this->oTmpObject = new Producto_agencia_frm( $this );

	class Producto_agencia_frm extends Frm
	{
	function setValue ( $ncProducto, $ncEstablecimiento, $ncOrden )
		{
			$cSql = "SELECT  ncProducto, ncEstablecimiento, ncOrden, ncMaduracion,  cMotivo
				FROM gtProductoAgencia
				WHERE ncProducto = '$ncProducto'
					AND  ncEstablecimiento = '$ncEstablecimiento'
					AND  ncOrden = '$ncOrden' ";
			$aDatos = $this->oDatabase->getArray($cSql);
			$this->setFieldsArray ( $aDatos );
		}
	function Producto_agencia_frm( &$oModule )
		{
			$this->Frm( $oModule );
			//Crea los Objetos de los campos de edicion
			$this->aFields['ncProducto']				= new InputList( "Producto", "ncProducto" );
			$this->aFields['ncEstablecimiento']		= new InputLookup( "Agencias", "ncEstablecimiento" );
			$this->aFields['ncOrden']						= new InputList( "Excursion", "ncOrden" );
			$this->aFields['ncMaduracion']			= new InputList( "Maduracion", "ncMaduracion" );
			$this->aFields['cMotivo']						= new InputText( "Justificacion", "cMotivo" );
		}
	function initializeForm()
		{
			// Si viene el Ubicacion hace el retrieve
				if ( $this->isRetrievable() && $this->aFields['ncProducto']->getValue() && $this->aFields['ncEstablecimiento']->getValue() && $this->aFields['ncOrden']->getValue()  )
				{
					$this->setValue( $this->aFields['ncProducto']->getValue(),  $this->aFields['ncEstablecimiento']->getValue() , $this->aFields['ncOrden']->getValue() );
				}
			// Configura el Titulo
				$this->setLabel( "Producto - Agencia" );
			return true;
		}
	function initializeField( $cField , &$oField )
		{
			switch ( $cField )
			{
					case 'ncProducto':
						if ( $oField->getValue() )
						{
							$oField->setHidden();
						} else
						{
							$cSql = "SELECT ncProducto, cdProducto FROM gtProductoTuristico";
							$oField->setMatrix($this->oDatabase->getMatrix($cSql));
							$oField->setMandatory($this->isMandatory());
						}
					break;
					case 'ncEstablecimiento':
						$oField->setOnChangeAutoSubmit($this );
						initializeEstablecimiento ( &$oField , 'ncFuncion=1');
						$oField->setMandatory($this->isMandatory());
					break;
					case 'ncOrden':
						if ( $this->aFields['ncEstablecimiento']->getValue()  )
						{
							$cSql = "SELECT ncOrden, cdExcursion FROM gtExcursion WHERE ncEstablecimiento = " . $this->aFields['ncEstablecimiento']->getValue() ;
							$oField->setMatrix($this->oDatabase->getMatrix($cSql));
						} else $oField->setHidden();
					break;
					case 'ncMaduracion':
						$cSql = "SELECT ncMaduracion, cdMaduracion FROM gcMaduracion";
						$oField->setMatrix($this->oDatabase->getMatrix($cSql));
					break;
					case 'cMotivo':
						$oField->setEditor();
					break;
			}
 		}
	}
?>